package cn.chenjiajin.demo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.Random;

/**
 * @author chenjiajin
 * @date 2022/3/22
 */
@SpringBootTest
public class demo1 {

    //JavaMailSender是专门用于发送邮件的对象，自动配置类已经提供了Bean
    @Autowired
    private JavaMailSender sender;

    @Value("${spring.mail.username}")
    private String username;

    @Test
    void contextLoads() {
        //SimpleMailMessage是一个比较简易的邮件封装，支持设置一些比较简单内容  (message里面包含很多设置内容的方法)
        SimpleMailMessage message = new SimpleMailMessage();
        //设置邮件标题
        message.setSubject("【标题】标题标题标题标题标题");
        //设置邮件内容
        message.setText("XXX同学您好，内容内容内容内容内容内容内内容内容内容内容现已内容内内容内容内内容内容内容。");
        //设置邮件发送给谁，可以多个 可变参数，这里就发给你的QQ邮箱
        message.setTo("chenjiajin0725@163.com");
        //邮件发送者，这里要与配置文件中的保持一致

        message.setFrom(username);
        //OK，万事俱备只欠发送
        sender.send(message);
    }

    @Test
    void contextLoads2() throws MessagingException {
        //创建一个MimeMessage
        MimeMessage message = sender.createMimeMessage();
        //使用MimeMessageHelper来帮我们修改MimeMessage中的信息
        MimeMessageHelper helper = new MimeMessageHelper(message, true);

        helper.setSubject("Test");
        helper.setText("lbwnb");
        helper.setTo("chenjiajin0725@163.com");
        helper.setFrom(username);
        //helper.addAttachment(); // 文件以及文件名即可发送

        //发送修改好的MimeMessage
        sender.send(message);
    }

}
